#ifndef _Contact_Listener_H_
#define _Contact_Listener_H_

#include "Box2D/Box2D.h"

class ContactListener : public b2ContactListener, public b2ContactFilter
{
  public:
    ContactListener();
    virtual ~ContactListener();

    virtual void BeginContact(b2Contact* contact);

    virtual void EndContact(b2Contact* contact);

    virtual void PreSolve(b2Contact* contact, const b2Manifold* oldManifold);

    virtual void PostSolve(b2Contact* contact, const b2ContactImpulse* impulse);

    virtual bool ShouldCollide(b2Fixture* fixtureA, b2Fixture* fixtureB);
};

#endif
